Day18_【RE_從零開始的異世界Python】-1
細心呵護的多媒體系統準備進入下個篇章,不過在準備文章時發現會時常需要回頭說明 Python 基本語法,故停下腳步回頭集中說明 Python 語法及即便熟手也不常運用的方便指令,以奠定後續自學及架構服務的基石,大約分兩篇介紹,本篇集中在 Python 語法的變數、運算、資料型態及儲存器類型。
認識 Python :
- 語法簡潔但不失優雅,以及 Python 龐大的生態環境可在不同領域都發揮作用所帶來的便利。
- Python 是動態語言、直譯式語言:
- Python的變數使用前不必宣告其資料型態,增加程式設計便利性,這類程式執行前不必經過編譯(compile)的過程,而是使用直譯器(interpreter)直接直譯與執行,稱為動態語言(dynamic language),或稱腳本語言(scripting language)。靜態語言如:C、C++、JAVA;動態語言如:Python、JavaScript、Ruby。
Python 的組成摘要
- 我們先來認識所謂「程式」的 基礎,任何程式語言必備的元素有:
- 程式的組成
- 基本資料型態。如: 整數
int、浮點數float、字串str、布林bool。 - 儲存容器-串列 list 、元組 tuple 、集合 Set。
- 格式化的輸出與輸入。如:
print()、input(),可以用參數自定輸入、輸出格式。 - 運算能力,包含運算子、運算式。如: 加減乘除、大小等於。
- 流程控制(選擇性敘述)。如:
if-else、if elif else。 - 迴圈。如:
for,while。
- 基本資料型態。如: 整數
- 進階程式的組成
- 函數fucntion。如:
def my_function():。 - 類別class。如
class MyClass():。
- 函數fucntion。如:
- 程式的組成
Python 變數與基本運算
大賢者: Colab 支援。
變數命名原則
- 變數
- 如同可以儲存資料內容的箱子,命名不能與關鍵字重複,自訂義的命名也不要跟引入的模組重複。
- 變數命名原則
- 開頭必須為英文字母、_(底線)或中文字,不能是數字起始。
- 變數名稱只能由英文、數字、_(底線)或中文組成,除了關鍵字之外, Python 可用任何 Unicode 編碼的字元當作識別字。英文大小寫是敏感的。
- 關鍵字:
and、as、assert、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、none、nonlocal、not、or、pass、raise、return、True、try、while、with、yield。
- 關鍵字:
- 如果變數需要超過兩個英文單字表達,可用底線符號 (_) ,或是駝峰型如: MyName 或 myName。
- 進階慣例(牽涉到設計
class及module)- 命名
class時,通常以大寫駝峰型命名,如MyClass。 - 命名函式或方法時,通常用小寫及底線 (如:
my_module)。 - 要保護 module 變數或函式不被
from foo import *時,可在變數名稱前加上單一底線,除非用from foo import _var才能使用 _var 變數。 - 若要在
class內宣告 private 變數或方法,則在變數名或方法名之前加上兩個底線 (__),如MyClass.__my_private_module,但其實本質上使用者若執意要呼叫private變數還是能夠達成。
- 命名
- Python內建函數內建函數名稱建議不當作變數名稱,如使用到程式不會錯誤,但功能會被覆蓋。
運算
- 運算子
- 算術運算子: 加
+、減-、乘*、除/、取餘數%、 a的b次方a**b、a取b整除a//b。 - 關係運算子: 兩者間的關係判斷,判斷成立回傳
True,不成立回傳False。如: 等於==、不等於!=、>、<、>=、<=。 - 賦值(指派)運算子: 賦值(指派)
a = b,a += b即a = a + b,以此類推。
- 算術運算子: 加
基本資料型態
-
以
type()檢查資料型態。 -
整數int
- Python解除了儲存空間大小的限制,記憶體夠大就可以放無限制整數,不會造成溢位(overflow)。
-
浮點數float
- 有小數點的數字,Python運算時具有簡易自動轉換能力。
- 由於電腦是以二進位的數值組合,轉換為十進位的浮點數會有誤差。
- 轉換二進位用
bin(),在Python中為0b開頭的數字,如0b1101。 - 轉換八進位 用
oct(),在Python中為0o開頭的數字,如0o61。 - 轉換十六進位用
hex(),在Python中為0x開頭的數字,如0x5D。
- 轉換二進位用
-
布林Boolean
- 經條件判斷後,回傳結果為
True或False type(True)回傳1;type(False)回傳0。
- 經條件判斷後,回傳結果為
-
字串String
- 以單引號(
')或雙引號(")前後括起來的任意輸入文字。 - 如果文句中有單/雙引號,則應以雙/單引號避免錯誤。
- 超過一行的字串以3個單引號或3個雙引號包夾
- 不想換行的分段輸入,在程式行末增加
\符號-
#會因程式換行以致輸出結果換行
"""
我是胖虎,我是孩子王
我是胖虎,我是孩子王
"""
##輸出結果不會換行的方式,行末增加"\"
'''
我是胖虎,我是孩子王\
我是胖虎,我是孩子王
'''
-
- 以單引號(
-
轉型
- 轉為文字
str(),如str(87),結果原來會判別為數字的87變成文字的'87'。 - 轉為整數
int()。 - 轉為浮點數
float()。 - 轉為布林
bool(),非0即為真。
- 轉為文字
